Problems in configuring complex systems arise from the sheer complexity of the systems. That is, the inclusion of one component or sub-system may mandate the inclusion of other sub-systems and components, as well as the exclusion of still other sub-systems and components. For example, in the case of preparing a quotation for a new automobile, the inclusion of, e.g., a traction control module, may require the inclusion of one sub-set of engines, while precluding the inclusion of another sub-set of engines, for example, for technical or performance reasons. Similarly, the selection of one color may preclude the selection of certain upholstery combinations, for example, for reasons of inventory or availability. Of course, if you don't select an engine and a transmission, you don't have an automobile. Certain choices must be made. The problem is one of "If you pick `X`, you must also pick `Y` and `Z`, but if you pick `Y`, you can not get `A` or `B`, and you have already selected `A`." That is, selection of one component or sub-system may remove some previously selected components or sub-systems from the system.
As systems become more complex, with more components and sub-systems, and more choices, and as the choices become limited because of "rules", that is, governmental regulations, industry standards, business policies, sales policies, inventory conditions, vendor relationships, and production scheduling, among others, it is difficult for the unassisted configuration specialist or sales professional to quickly develop a valid product configuration for a complete complex system.
Thus, a need exists for a tool, system, and method to enable configuration specialists, as sales professionals and design engineers, to effectively configure complex systems in the context of many choices, options, and rules, including frequently inconsistent and conflicting rules.
There is a further need to configure these complex systems from a set of unsatisfied requirements.
There is still a further need to configure these complex systems in the context of rules that mandate the removal of previously selected components or sub-systems because of new selections, in which case selecting a component or sub-system may completely transform the set of selected components and sub-systems, and the set of unsatisfied requirements.
There is a still further need for a method and system of selecting sub-systems and components against an objective.